# !/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Time : 2023/4/23 22:14
# @Author : xyjiang1216
# @Email : jiangxuyan@nudt.edu.cn
# @File : topo_interface.py
# @Version: OpenPlanner2.0
from abc import ABCMeta, abstractmethod

from OpenPlanner.core.src.op_class import TopoParam


class TopoStrategy(metaclass=ABCMeta):
    """定义拓扑图生成的接口类"""

    def __init__(self,
                 topo_param: TopoParam):
        self.topo_param = topo_param

    @abstractmethod
    def generate_topo_graph(self):
        """
        定义接口名，但不需要实现其功能，由继承此类的子类实现
        返回值是一个Graph类的对象。
        """
        return
